package com.ruoyi.luban.service;

import com.ruoyi.luban.domain.PSchool;
import com.ruoyi.luban.domain.vo.PSchoolVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 学校Service接口
 * 
 * @author ruoyi
 * @date 2024-01-28
 */
public interface IPSchoolService 
{
    /**
     * 查询学校
     * 
     * @param id 学校主键
     * @return 学校
     */
    public PSchool selectPSchoolById(Long id);

    /**
     * 查询学校列表
     * 
     * @param pSchool 学校
     * @return 学校集合
     */
    public List<PSchool> selectPSchoolList(PSchool pSchool);

    /**
     * 新增学校
     * 
     * @param pSchool 学校
     * @return 结果
     */
    public int insertPSchool(PSchool pSchool);

    /**
     * 修改学校
     * 
     * @param pSchool 学校
     * @return 结果
     */
    public int updatePSchool(PSchool pSchool);

    /**
     * 批量删除学校
     * 
     * @param ids 需要删除的学校主键集合
     * @return 结果
     */
    public int deletePSchoolByIds(Long[] ids);

    /**
     * 删除学校信息
     * 
     * @param id 学校主键
     * @return 结果
     */
    public int deletePSchoolById(Long id);

    /**
     * 获取坐标内的学校
     * @param longitude
     * @param latitude
     * @return
     */
    List<PSchool> getNearbySchools(PSchool pSchool);

    List<PSchoolVo> selectPSchoolListBySign(@Param("id") Long contactId);

    int selectPSchoolListBySignCount(Long contactId);
}
